package main;

import java.lang.reflect.Field;

public class JavaPersonName {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, InstantiationException, IllegalAccessException {
        /**
         * 示例8
         */
        Class clz = Class.forName("entity.Person");
        Object person = clz.newInstance();

        //获取private String name属性
        Field name = clz.getDeclaredField("name");
        //name属性为private,这里已超出其访问,不能直接访问
        //通过setAccessable方法,设定为可以访问
        name.setAccessible(true);
        //先取值看一下
        System.out.println("赋值前的name:"+name.get(person));
        //为name属性赋值
        name.set(person,"New Person");
        //展示赋值效果
        System.out.println("赋值后的name:"+name.get(person));
    }
}
